package creational_pattern.singleton.demo2;

/**
 * 懒汉模式
 *      静态内部类实现
 *      测试反射打破单例模式
 */
public class Singleton {
    // 私有化构造方法
    private Singleton() {}

    // 静态内部类
    private static class SingletonHolder {
        // 在内部类中声明并初始化
        private static final Singleton instance = new Singleton();
    }

    // 提供公共的方法
    public static Singleton getInstance() {
        return SingletonHolder.instance;
    }
}
